Computer-aided techniques are known to include Computer-Aided Design or CAD, which relates to software solutions for authoring product design. Similarly, CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM stands for Computer-Aided Manufacturing and typically includes software solutions for defining manufacturing processes and operations.
A number of systems and programs are offered on the market for the design of objects (or parts) or assemblies of objects, forming a product, such as the one provided by Dassault Systemes under the trademark CATIA. These CAD systems allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are mostly specifications of geometry. Specifically, CAD files contain specifications, from which geometry is generated, which in turn allow for a representation to be generated. Geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of one Megabyte per part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
Also known are Product Lifecycle Management (PLM) solutions, which refer to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. By including the actors (company departments, business partners, suppliers, Original Equipment Manufacturers (OEM), and customers), PLM may allow this network to operate as a single entity to conceptualize, design, build, and support products and processes.
Some PLM solutions make it for instance possible to design and develop products by creating digital mockups (a 3D graphical model of a product). The digital product may be first defined and simulated using an appropriate application. Then, the lean digital manufacturing processes may be defined and modeled.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provides an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. The database comprises a set of textual data and relations between the data. Data typically include technical data related to the products said data being ordered in a hierarchy of data and are indexed to be searchable. The data are representative of the modeled objects, which are often modeled products and processes.
For designing a 3D modeled object, it is usually provided at least one surface which is to represent a physical boundary of the modeled object. The rendering of the 3D modeled object processes two fundamental quantities which usually define the surface: points of the surface and normal vectors of the surface (i.e. vectors which are normal to the surface). The points of the surface are usually provided as a set of 3D coordinates of the points on the object surface. Application of the projection and view matrices to such coordinates will give the position of a pixel on the computer screen. A normal vector is often provided as a 3D vector which is associated to a point of the object surface. This vector, also called the “normal”, controls the reflection of light from the surface, and, together with the material properties, will define the color of the resultant pixel. The following may also refer to a normal field, which is defined as the function that gives a normal for each position on the 3D object surface. FIG. 1 shows an example of a surface S for which normal vectors N are represented as arrows normal to the surface, the base of the arrows being points P of the surface S.
Geometric theory would suggest that it is sufficient to only model position in order to model a 3D object that is to be rendered, since the normal can be calculated from the derivatives of the position. In practice, however, many computer graphics systems provide for separate channels for position and normal, because it is more efficient to represent position data at a low resolution, and to represent local features such as sharp edges and surface roughness via variations in the normal field.
A common means of displaying 3D objects is the so-called “Phong shading”, described e.g. in a paper by Bui Tuong Phong entitled “Illumination for Computer Generated Pictures,” Comm. ACM, Vol 18(6):311-317, June 1975. In this approach, the system maintains a mesh of triangles, with separate positions and normals defined at each mesh vertex. Given a point on the surface, the normal vector at that point is computed by weighted average of the normal at each of the triangles vertices, using as weights the barycentric position of the point in the triangle.
An improvement on the Phong model is the Normal Mapped or Bump Mapped model, first described in a paper by Blinn entitled “Simulation of wrinkled surfaces”, ACM SIGGRAPH, 1978, and widely used today in applications such as video games. This uses a triangle mesh with 2D coordinates (u,v) at each mesh vertex. The (u,v) pair points to a 2D map called a “normal map” or “bump map”. Given a point on the surface, the normal field first computes a (u,v) value by weighted average of the (u,v) at each of the triangles vertices, and then performs lookup in the normal map using this (u,v) value. The normal map will usually be represented by a 2D image of finite size, and the lookup operator will perform interpolation between pixels of the image to simulate the existence of a continuous mapping.
In yet another known example, position data is stored as NURBS surfaces. A normal field is associated to the NURBS as a normal map.
To sum up, known techniques allow for distinct position and normal information on the surface. While Phong shading produces a normal field that smoothly evolves with position, going from the normal of one vertex to the normal of another vertex, a Normal Map can include any amount of detail.
Product lifecycle information, including product configuration, process knowledge and resources information are typically intended to be edited in a collaborative way. Thus, modeled objects are more and more shared and submitted to copyrights infringements. For that reason, the need for a higher traceability of 3D modeled objects has appeared, in order to prove infringement or illegal copy of 3D models.
To increase the traceability of 3D modeled objects, the field of 3D watermarking (the watermarking of 3D objects in general) has been explored. The applications of such a technique are multiple, for example, we might want to mark an object with a code representing the original author, to prevent it from being reused without permission. Most 3D watermarking techniques have in common a perturbation in the local shape (in other words, the position of the surface points) of the 3D model to insert the desired information. The technique proposed to hide these perturbations, is generally to make them so small that they are undetectable to the naked eye. A good survey of 3D watermarking techniques is provided in the paper entitled “A comprehensive survey on 3 dimensional mesh watermarking”, by Wang, Lavoué et al., IEEE Transactions on Multimedia, vol. 10, No. 8, December 2008. However, there is no watermarking technique specific to 3D modeled objects for which a field of normal vectors is present beforehand.
Thus there still remains a need for a technique for tracing a 3D modeled object modeled at least by a field of points of a surface and a field of normal vectors normal to the surface.